// ActionScript file
import classes.Professor;

import mx.controls.Alert;
import mx.events.MenuEvent;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import title_window.dados_pessoais;
import mx.managers.PopUpManager;
import modulos.cadastra_turma;
import mx.events.ModuleEvent;
import mx.managers.CursorManager;
import mx.events.FlexEvent;

//variavel do tipo title window (dados pessoais)
public var popUp:dados_pessoais;
//objeto do tipo professor
public var prof:Professor;

//menu da tela principal
private function menu(id:int):void
{
	if(id==0){
		currentState="State1";
	}else if(id==1){
		currentState="Parceiros";					
	}else if(id==2){
		currentState="Sobre";
	}else if(id==3){
		currentState="FaleConosco";
	}
	limpa_campos();
}
//evento do menu do administrador
protected function barraMenu_admin_itemClickHandler(event:MenuEvent):void
{
	var opcao:String=event.item.@label;
	switch (opcao){
		case "Meus dados":
			popUp=dados_pessoais(PopUpManager.createPopUp(this,dados_pessoais,true));
			popUp.prof_logado=prof;
			break;
		case "Relatórios":
			carrega_modulo_admin.url="modulos/relatorios.swf";
			carrega_modulo_admin.loadModule();
			break;
		case "Cidade":
			carrega_modulo_admin.url="modulos/cadastrar_cidade.swf";
			carrega_modulo_admin.loadModule();
			break;
		case "Curso":
			carrega_modulo_admin.url="modulos/curso.swf";
			carrega_modulo_admin.loadModule();
			break;
		case "Professor":
			carrega_modulo_admin.url="modulos/cadastro_professor.swf";
			carrega_modulo_admin.loadModule();
			break;
		case "Telecentro":
			carrega_modulo_admin.url="modulos/Cadastrar_telecentro.swf";
			carrega_modulo_admin.loadModule();
			break;	
		case "Turma":
			carrega_modulo_admin.url="modulos/cadastra_turma.swf";
			carrega_modulo_admin.loadModule();
			break;
		case "Aluno":
			carrega_modulo_admin.url="modulos/cadastro_aluno.swf";
			carrega_modulo_admin.loadModule();
			break;
		case "Alunos Cadastrados":
			carrega_modulo_admin.url="modulos/alunos_cadastrados.swf";
			carrega_modulo_admin.loadModule();
			break;
		case "Aluno na lista de espera":
			carrega_modulo_admin.url="modulos/cadastra_aluno_espera.swf";
			carrega_modulo_admin.loadModule();
			break;
		case "Sair":
			sair();
			break;
	}	
}
//evento do menu do usuario
protected function barraMenu_usuario_itemClickHandler(event:MenuEvent):void
{
	var opcao:String=event.item.@label;
	switch (opcao){
		case "Meus dados":
			popUp=dados_pessoais(PopUpManager.createPopUp(this,dados_pessoais,true));
			popUp.prof_logado=prof;
			break;		
		case "Turma":
			carrega_modulo_usuario.url="modulos/cadastra_turma.swf";
			carrega_modulo_usuario.loadModule();
			break;
		case "Aluno":
			carrega_modulo_usuario.url="modulos/cadastro_aluno.swf";
			carrega_modulo_usuario.loadModule();
			break;
		case "Alunos Cadastrados":
			carrega_modulo_usuario.url="modulos/alunos_cadastrados.swf";
			carrega_modulo_usuario.loadModule();
			break;
		case "Aluno na lista de espera":
			carrega_modulo_usuario.url="modulos/cadastra_aluno_espera.swf";
			carrega_modulo_usuario.loadModule();
			break;
		case "Sair":
			sair();
			break;
	}	
	
}	
/*
private function leiaMais_parceiro():void
{
	currentState="Parceiros";
}
private function leiaMais_faleConosco():void
{
	currentState="FaleConosco";
}
*/

//função do botão do login
private function acesso_sistema():void
{
	//FUNÇÃO LOGIN E PERFIL USUARIO 
	switchCursor();
	login(campo_email.text,campo_senha.text);	
}
//limpa campos
private function limpa_campos():void
{
	campo_email.text="";
	campo_senha.text="";
	label_login_inv.text="";
}	
//função do botão login
protected function login(email:String, senha:String):void
{	
	this.controle_login.login(email, senha);
}
//evento chamado após realizar o login
//verifica o tipo do usuário
protected function login_result(event:ResultEvent):void
{
	prof=event.result as Professor;
	if(prof==null){
		label_login_inv.text="E-mail e/ou Senha Inválido";
		CursorManager.removeBusyCursor();
	}else{
		if(prof.administrador==true){
			currentState="admin";
		}else{
			currentState="usuario";
		}
		limpa_campos();
		CursorManager.removeBusyCursor();
	}	
}
//emite msg ao ocorrer problema ao login
protected function login_fault(event:FaultEvent):void
{
	Alert.show("Ocorreu um erro ao acessar o sistema");
}
//função para sair do sistea
protected function sair():void
{
	var urlReq:URLRequest = new URLRequest("index.html");
	navigateToURL(urlReq,""); 		
}
//evento botão login (icone de espera)
private function switchCursor():void 
{
	CursorManager.setBusyCursor();	
}
//inicializa ao iniciar tela
protected function init(event:FlexEvent):void
{
	this.controle_cidade.listarTodosCidade();
}
